﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using Domain; //подключение Domain
using Session; //подключение Session
using Notif; //подключение Notif

namespace Log_Ords
{  
    public partial class FormLgOrdsUpd : Form
    {
        BrokerLgOrds b_LgOrds = new BrokerLgOrds(); // объявление BrokerLgOrds
        public FormLgOrdsUpd()
        {
            InitializeComponent();
        }

        private void LgOrds_Upd_sBt_Ex_Click(object sender, EventArgs e) // закрытие формы
        {
            FClose(); // вызов функции закрытия формы
        }

        private void FormLgOrdsUpd_FormClosed(object sender, FormClosedEventArgs e) // закрытие формы
        {
            FClose(); // вызов функции закрытия формы
        }

        private void LgOrds_Upd_sBt_Upd_Click(object sender, EventArgs e) // при нажатии кнопки "Сохранить"
        { 
            try
            {
                Dm_Orders NewOrds = new Dm_Orders(); // объявление Dm_Orders как NewOrds
                Dm_Orders OldOrds = new Dm_Orders(); // объявление Dm_Orders как OldOrds

                OldOrds.Id_ords = Convert.ToInt32(label8.Text); // присвоение значений OldOrds.Id_ords из label8.Text

                NewOrds.Date_set = LgOrds_Upd_dE_DtSt.Text; // присвоение значений NewOrds.Date_set из LgOrds_Upd_dE_DtSt.Text
                NewOrds.Date_deliv = Convert.ToString(LgOrds_Upd_dE_DtDlv.Text); // присвоение NewOrds.Date_deliv значений из LgOrds_Upd_dE_DtDlv.Text
                NewOrds.Provider = LgOrds_Upd_tE_Prvd.Text; // присвоение NewOrds.Provider значений из LgOrds_Upd_tE_Prvd.Text
                NewOrds.Mark_goods = LgOrds_Upd_tE_MkGds.Text; // присвоение NewOrds.Mark_goods значений из LgOrds_Upd_tE_MkGds.Text
                NewOrds.Faliure = "no"; // присвоение NewOrds.Faliure значения 
                NewOrds.Id_stat = 16;

                if (LgOrds_Upd_ckE_Falr.Checked == true)
                {
                    NewOrds.Faliure = "yes"; // присвоение NewOrds.Faliure значения
                    NewOrds.Note = LgOrds_Upd_tE_Nt.Text; // присвоение NewOrds.Note значений из LgOrds_Upd_tE_Nt.Text
                    NewOrds.Date_deliv = "Отказ"; // присвоение NewOrds.Date_deliv значения 
                    NewOrds.Id_stat = 12;
                    NewOrds.Date_set = "Отказ";
                    NewOrds.Provider = "";
                    NewOrds.Mark_goods = "";
                }

                b_LgOrds.Update(OldOrds, NewOrds); // вызов функции на редактирование записи

                MessNotif.Informing("Запись успешно отредактирована.", "Запись отредактирована"); // информирование о редактирование записи 

                FClose(); // вызов функции закрытия формы
            }

            catch (Exception ex) // если не добавилось
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void FClose() // функция закрытия
        {
            this.Hide();
        }

        private void LgOrds_Upd_ckE_Falr_CheckedChanged(object sender, EventArgs e)
        {
            if (LgOrds_Upd_ckE_Falr.Checked == false)
            {
                LgOrds_Upd_tE_Nt.Enabled = false;
            }

            if (LgOrds_Upd_ckE_Falr.Checked == true)
            {
                LgOrds_Upd_tE_Nt.Enabled = true;
            }
        }

        private void FormLgOrdsUpd_Activated(object sender, EventArgs e) // установка индекса
        {
            if (label9.Text == "True") // если True, то флаг установлен и поле активно
            {
                LgOrds_Upd_ckE_Falr.Checked = true;
                LgOrds_Upd_tE_Nt.Enabled = true;
            }
            else // если False, то флаг снят и поле не активно
            {
                LgOrds_Upd_ckE_Falr.Checked = false;
                LgOrds_Upd_tE_Nt.Enabled = false;
            }        
        }


    }
}
